This disclosure generally relates to communication among linked computers, and more specifically, to access and control of one computer by a remote computer.
Computers, their peripherals, and other information processing devices can be connected to one another by communication channels to form computer networks. The communication channels may be wired links such as electrical cables and optic fibers, or wireless links by radio waves, or a combination of both. Linked computers can communicate with one another to exchange data and share various hardware and software resources over the network.
A computer connects to a network by using a network interface card (xe2x80x9cNICxe2x80x9d). Other information processing devices may also use a NIC to communicate with a network. The NIC essentially operates as an agent to provide communication between the computer and the network. Each NIC can have a hardwired identification number known as medium access control (xe2x80x9cMACxe2x80x9d) address so that an associated computer can be uniquely identified by other computers in the network.
Computers in a network, e.g., a local network (xe2x80x9cLANxe2x80x9d), may have different properties from one another, such as hardware configurations, NIC specifications, and operating systems. Communication protocols can encode the data in a way that different computers can xe2x80x9cunderstandxe2x80x9d one another regardless their differences. In addition, different networks within a wide area network (xe2x80x9cWANxe2x80x9d) may use different protocols. Hence, additional protocols may be used to allow communication between different networks. For example, the Internet uses TCP/IP protocols as its WAN communication protocols and a computer is assigned with an Internet protocol (IP) address in order to be uniquely identified and recognized over the Internet.
One trend in network computing is to increase the accessibility, manageability, and control of hardware, software, or data in the network by a user from a different location where a link to the network is available. For example, a networked computer may implement instrumentation to allow remote access of its interhal system contents (e.g., hardware and software components, static and dynamic data in its memory units) from an authorized computer via the network. As another example, a computer may be booted by first downloading system software from a remote server across a network and then executing the boot routine. This preboot operation can be implemented by using the Preboot Execution Environment (PXE) technology (Wired For Management 2.0, Intel, 1998).
The present specification provides a technique for exchanging data between two networked computers to allow one computer to control the other and to share the hardware and software resources. One embodiment of the technique uses a basic input and output system (BIOS) of a first computer to control a network interface card (NIC) to communicate with a second computer in a network. A timer interrupt is generated based oh a timing signal in the first computer. The BIOS of the first computer is configured to communicate with the second computer according to the timer interrupt to. allow the second computer to control the first computer both when the first computer has a running operating system, and when the first computer does not have a running operating system